Operadores lógicos: se utilizan para realizar operaciones booleanas.
Y lógico (&&): devuelve verdadero si ambos operandos son verdaderos.
O lógico (||): devuelve verdadero si al menos uno de los operandos es verdadero.
Negación lógica (!): invierte el valor booleano de un operando.
let x = 5;
let y = 10;
console.log(x < y && y < 20); // Devuelve true
console.log(x > y || y < 20); // Devuelve true
console.log(!(x < y)); // Devuelve false
Operadores de incremento y decremento: se utilizan para aumentar o disminuir el valor de una variable en uno.
Incremento (++): se utiliza para aumentar el valor de una variable en uno.
Decremento (--): se utiliza para disminuir el valor de una variable en uno.
Los operadores de bit a bit son utilizados para realizar operaciones a nivel de bits en los números. A continuación, te mostraré los operadores de bit a bit en JavaScript:
Operador AND a nivel de bits (&): Devuelve un 1 en cada posición en la que los bits de ambos operandos son 1.
let x = 5; // 101 en binario let y = 3; // 011 en binario console.log(x & y); // Devuelve 1 (001 en binario)
Operador OR a nivel de bits (|): Devuelve un 1 en cada posición en la que al menos uno de los bits de los operandos es 1.
let x = 5; // 101 en binario let y = 3; // 011 en binario console.log(x | y); // Devuelve 7 (111 en binario)
Operador XOR a nivel de bits (^): Devuelve un 1 en cada posición en la que los bits de los operandos son diferentes.
let x = 5; // 101 en binario let y = 3; // 011 en binario console.log(x ^ y); // Devuelve 6 (110 en binario)
Operador NOT a nivel de bits (~): Invierte todos los bits de un número.
let x = 5; // 101 en binario console.log(~x); // Devuelve -6 (complemento a 2 de 010 en binario)
Operador desplazamiento a la izquierda (<<): Desplaza los bits del primer operando a la izquierda el número de posiciones especificado por el segundo operando.
let x = 5; // 101 en binario console.log(x << 1); // Devuelve 10 (1010 en binario)
Operador desplazamiento a la derecha (>>): Desplaza los bits del primer operando a la derecha el número de posiciones especificado por el segundo operando.
let x = 5; // 101 en binario console.log(x >> 1); // Devuelve 2 (10 en binario)
Operador desplazamiento a la derecha sin signo (>>>): Desplaza los bits del primer operando a la derecha el número de posiciones especificado por el segundo operando. Los bits vacantes son llenados con ceros en lugar del bit de signo.
let x = -5; // 11111111111111111111111111111011 en binario (complemento a 2) console.log(x >>> 1); // Devuelve 2147483645 (01111111111111111111111111111101 en binario)